1. Field of the Invention
The present invention is directed generally to diagnostic systems and more particularly to a domain independent shell that can be used for building a diagnostic expert system.
2. Description of the Prior Art
Expert systems have been used for a number of years as a substitute for, or adjunct to, human expertise. Expert systems such as MYCIN, EMYCIN and NEOMYCIN have been developed which are capable of carrying on a dialogue for the purpose of diagnosing a medical problem. Studies of expert systems such as NEOMYCIN have lead to the conclusion that the methodology by which a diagnosis is reached can be generalized, or separated, from the domain in which that methodology operates. The generalization of NEOMYCIN has lead to the development of HERACLES. For a discussion of that development see "From Guidon to NEOMYCIN and HERACLES in Twenty Short Lessons; ORN Final Report 1979-1985" by William J. Clancey appearing in the AI Magazine, August, 1986, beginning at page 40.
HERACLES can be said to be a domain independent shell which can be used for building diagnostic expert systems. It is said to be domain independent because it contains no information regarding the domain in which the diagnostic system will operate. It does, however, provide a framework for capturing knowledge about the domain so that the diagnostic strategy built into the system can be applied to the domain. CASTER is an example of a diagnostic system built using HERACLES. CASTER is an expert system capable of diagnosing problems in a metal working process known as sand casting which is used to make metal objects such as wrenches, engine blocks, ocean liner propellers, etc. See "A Qualitative Modeling Shell For Process Diagnosis" by Timothy F. Thompson, et al. appearing in IEEE software, 1966, beginning at page 6.
HERACLES is not the only domain independent shell that can be used to develope a diagnostic expert system. CRSL is an example. See "CRSL; A Language For Classificatory Problem Solving and Uncertainty Handling" by Tom Bylander et al., the AI Magazine, August 1986, beginning at page 66. See also "Building Expert Systems for Repair Domain" by M. Hofmann, et al., Expert Systems, January 1986, Volume 3, No. 1 beginning at page 4. Such domain independent shells, as can be seen from an examination of CASTER, provide for the development of a diagnostic system into a particular domain in a much shorter period of time than what would otherwise be necessary. Of course, the advantage of having such a diagnostic expert system is that less skilled employees can perform trouble shooting or maintenance operations here-to-for only capable of being performed by experts in that particular domain.
Many diagnostic expert systems have been built over the last several years. Typically, the systems use either evidential or causal reasoning. Most evidential reasoning systems, such as EMYCIN are rule based. Each rule represents a belief association between evidential considerations and a conclusion warranted by the evidence. There may be many rules bearing on the same conclusion. A numeric algorithm may be used to compose evidence provided by each applicable rule. A simple decision rule is used to identify the best or most warranted conclusion. Causal systems, and more recently the qualitative reasoning models, operate on the basis of an underlying model of entities and the explicit representation of causal, behavioral, and/or structural relations. Those models are used either to support differential diagnosis, or in the case of qualitative reasoning, a simulative approach to diagnosis.
While the evidential and causal reasoning approaches have proved quite effective within certain domains, none has proved ideal for trouble-shooting tasks, such as machine fault diagnosis. The approach taken by HERACLES has some inherent shortcomings in the trouble shooting environment. First, trouble shooting expertise is less a matter of generating beliefs on the basis of observed symptoms then of using observations as they become known to effectively guide one to conclusive tests. Thus, the simple representational semantics of evidential belief rules typically do not correspond to the way experts think about diagnosing failure modes. Secondly, the backward chaining control strategy provided within this paradigm does not easily allow systems to modify the order in which candidate failures are considered as new evidence bearing on expected likelihoods has accumulated. This can be extremely time consuming when the analysis is prevented from skipping to, or focusing on, a more likely failure but rather must exhaustively examine each failure in the hierarchy until that more likely candidate is reached. Finally, pure rule-based approaches tend to require exhaustive searching. That is impractical for many trouble shooting tasks where there are a large number of problems which could explain any failure mode. As the rule base becomes larger and larger, the time required for such exhaustive searching becomes unreasonable.
Problem solvers which rely on causal models to support differential diagnosis or simulations typically run into three problems when used to reason about machine faults. The first occurs during development as the task of constructing large complex models becomes bogged down in complexity and issues of behavioral validation. The second occurs at run time as these techniques typically result in inadequate performance. Finally, attempts to improve performance through the use of domain-specific heuristics often stumble, as the representational and control constraints of such problem solvers are too rigid to allow such extensions.
Prior art systems are also incapable of addressing the problem of having a single data base represent, for example, various models of a single piece of equipment. In many of the prior art systems, because the knowledge base is so rigidly constructed, it is difficult to make changes without fully appreciating how those changes may affect other portions of the data base. Therefore, it becomes necessary to construct a separate data base for the various different models involved.
Another shortcoming of the prior art is that many available diagnostic systems do no more than suggest a repair for a failure. Many systems provide no means for verifying that the repair was successful, on what level it was successful, or what other repair procedures might prove successful. There is thus a need for a domain independent shell capable of building a diagnostic expert system addressing such shortcomings.